Electronic devices such as household appliances, audio-video equipment, computers, and telephones operate within a given environment such as the home of a user. However, these devices function independently of one another. The user must initiate actions on the devices to cause the devices to change to a particular state of operation to thereby perform a function desired by the user.
Often, the state of one or more of the electronic devices is related to the state of one or more other electronic devices within the same environment. For example, a user may be watching television (TV) when the telephone rings. The user wishes to answer the call, but to effectively communicate with the caller, the user must mute the television so that sound from the TV does not interfere with the telephone conversation. Every time a telephone call is to be answered while the user watches TV, the user must again repeat the muting process. For each call, once the user hangs up the phone, the TV must be manually unmuted so that the user can once again listen to the TV program being watched.
The TV-telephone scenario discussed above is only one example. There is an undeterminable number of scenarios and devices involved within a given environment. In each scenario, the devices do not communicate with one another and do not coordinate activities, and as a result the user is overly burdened. The number of electronic devices for a household is continually increasing, and the resulting burden on the user to manually coordinate states of the devices for given scenarios is increasing as well.
To address this problem, devices can be configured with communication abilities so that they can communicate with one another when one or more devices experience a user driven state change. However, when several devices are involved in the interaction, various complexities are introduced. As devices and associated interactions are added to the environment, communication paths begin to multiply non-linearly necessitating wider bandwidths to accommodate the increase. Interaction rules become ambiguous because devices down a chain of interaction cannot determine a proper state change due to several degrees of removal from the user driven event.
Additionally, many different transports are available for communication between devices. Absent a standard specifying a transport for an environment, any transport may be chosen as the transport for a particular device. If two devices are not equipped with the same transports, then communication between the devices becomes impossible. These devices will not satisfactorily coexist and interact in an environment.
Therefore, there is a need for aggregating communication paths, interactions, and/or message transports within a device environment to address these problems.